package util;

import org.apache.commons.lang3.StringUtils;

import java.io.File;
import java.io.IOException;

public class FileUtil {
	/**
	 * user: Rex
	 * date: 2016年12月29日  上午12:25:04
	 * @param dir
	 * void
	 * TODO 判断路径是否存在，如果不存在则创建
	 */
	public static void mkdirs(String dir){
		if(StringUtils.isEmpty(dir)){
			return;
		}
		
		File file = new File(dir);
		if(file.isDirectory()){
			return;
		} else {
			file.mkdirs();
		}
	}
//	根据文件路径和文件名称创建文件
	public static void createFile(String path,String fileName){
//path表示你所创建文件的路径

		File f = new File(path);
		if(!f.exists()){
			f.mkdirs();
		}
// fileName表示你创建的文件名；为txt类型；

		File file = new File(f,fileName);
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	public  String  fileNameForPath(String path){
         String name=null;
		String temp[] = path.split("////");
		if (temp.length > 1) {
			name= temp[temp.length - 1];
		}

//		另一种方法
//		name=java.lang.String.substring(String.lastIndexOf("/"));
		return name;
	}

	//创建文件夹--单层
	private static void CreateFile(String dir)
	{
		try {
			File dirPath = new File(dir);
			if (!dirPath.exists()) {
				dirPath.mkdir();
			}
		} catch (Exception e) {
			System.out.println("创建目录操作出错: "+e.getMessage());
			e.printStackTrace();
		}
	}
	//创建文件夹--多层
	private static boolean CreateMultilayerFile(String dir)
	{
		try {
			File dirPath = new File(dir);
			if (!dirPath.exists()) {
				dirPath.mkdirs();
			}
		} catch (Exception e) {
			System.out.println("创建多层目录操作出错: "+e.getMessage());
			e.printStackTrace();
			return false;
		}
		return true;
	}

	//新建文件
	public static void createNewFile(String path){
		try {
			String[] lists=path.split("\\.");
			int lastLength=lists[0].lastIndexOf("/");
			//得到文件夹目录
			String dir=lists[0].substring(0, lastLength);
			//得到文件名称
			String fileName=lists[0].substring(lastLength);
			//得到路径e:\a\b之后,先创建文件夹
			if(CreateMultilayerFile(dir)==true)
			{
				File filePath = new File(path);
				if (!filePath.exists()) {
					filePath.createNewFile();
				}
			}
		} catch (Exception e) {
			System.out.println("新建文件操作出错: "+e.getMessage());
			e.printStackTrace();
		}


	}




}
